Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 6, 2025

This PR contains the following updates:

Package Change Age Confidence
com.google.crypto.tink:tink 1.17.0 -> 1.19.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

tink-crypto/tink-java (com.google.crypto.tink:tink)

v1.19.0: Tink Java v1.19.0

Compare Source

Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

This is Tink Java 1.19

The complete list of changes since 1.18.0 can be found here.

Build changes

  • For Bazel builds, we now use Bazel 7.6.1. in our tests.
  • For Bazel builds, Tink now supports bzlmod.
  • Tink no longer supports Java 8. The minimum version starting from 1.19.0 is Java 11.

Dependencies

  • Protobuf 4.28.2 was upgraded to Protobuf 4.32.1. (Note: we plan to shade protobuf in the next minor version of Tink which should resolve compatibility issues)

Obscure behaviour changes

  • Tink will reject custom key types where the Type-Url has non-ASCII characters.

  • Tink may serialize keysets slightly differently in certain cases. For
    example, in the serialization of a ECDSA keyset, the points might be padded
    differently than before. Users should not depend on the exact format of
    Tink's serialization.

  • Use Conscrypt's AES-CMAC implementation when available and when the input is larger than 64 byte. This may improves the performance of AES-CMAC, AES-SIV and AES-EAX for large inputs.

  • Removed usage of thread-local Ciphers for ChaCha20Poly1305.

Added APIs

  • Added public JwtEcdsaParameters.Algorithm.getEcParameterSpec method.

  • The AES-SIV implementation in subtle now accepts multiple associated datas.

Future work

To see what we're working towards, check our project roadmap.

Getting started

To get started using Tink, see the setup guide.

Maven:
<dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink</artifactId>
    <version>1.19.0</version>
</dependency>
Gradle:
dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.19.0'
}
Bazel:
Using bzlmod
bazel_dep(name = "tink_java", version = "1.19.0")

git_override(
    module_name = "tink_java",
    remote = "https://github.com/tink-crypto/tink-java",
    tag = "v1.19.0",
)
Using WORKSPACE
load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

RULES_JVM_EXTERNAL_TAG = "4.5"
RULES_JVM_EXTERNAL_SHA ="b17d7388feb9bfa7f2fa09031b32707df529f26c91ab9e5d909eb1676badd9a6"

http_archive(
    name = "rules_jvm_external",
    strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
    sha256 = RULES_JVM_EXTERNAL_SHA,
    url = "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)

load("@&#8203;rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")

rules_jvm_external_deps()

load("@&#8203;rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")

rules_jvm_external_setup()

load("@&#8203;rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:NEXT_VERSION",

### ... other dependencies ...
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)

Alternatively, one can build Tink from source, and include it with
http_archive:

http_archive(
    name = "com_github_tink_crypto_tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/archive/refs/tags/NEXT_VERSION.zip"],
    strip_prefix = "tink-java-NEXT_VERSION",
    sha256 = ...
)

load("@&#8203;tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps")

tink_java_deps()

load("@&#8203;tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init")

tink_java_deps_init()

### ...

maven_install(
    artifacts = TINK_MAVEN_ARTIFACTS + # ... other dependencies ...
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)

v1.18.0: Tink Java v1.18.0

Compare Source

Tink is a multi-language, cross-platform library that provides simple and
misuse-proof APIs for common cryptographic tasks.

This is Tink Java 1.18.0

The complete list of changes since 1.17.0 can be found here.

Dropped support

  • Tink Android no longer supports API level 21 and 22. From Tink 1.18.0, the
    minimum API level is 23.

  • Removed Registry.wrap. This API cannot have been used by users: the
    PrimitiveSet needed for it was already moved to internal in Tink 1.13.0.

New Features

  • Use Conscrypt's implementation of Ed25519 when available.

  • Improved performance of AES-GCM-SIV.

  • Tink now provides a flag GlobalTinkFlags.validateKeysetsOnParsing(). If
    set to true, Tink will run certain validations on a keyset before it creates
    a KeysetHandle. We plan to flip the default of this flag to true in Tink
    2.0.

Bug fixes

  • AeadConfig.register() now always registers AES-GCM-SIV. If it's not
    supported by the registered JCE Providers, it will fail when the primitive
    is created.

  • The Aead implementation returned by
    com.google.crypto.tink.integration.android.AndroidKeystore.getAead()
    created invalid ciphertexts on Android API version 28 and older when
    the input was larger than 128kB. Now, it throws an exception instead.

  • JwtHmacKey, LegacyKmsAeadKey, and LegacyKmsEnvelopeAeadKey are now
    final. These cannot be properly subclassed as this would break equalsKey.

Obscure behaviour changes

  • Primitive creation of AES-GCM-SIV now will fail if the algorithm is not
    available. Previously, this used to work with some Configurations succeeding
    and the primitive then failed when encrypt or decrypt was called.

Future work

To see what we're working towards, check our
project roadmap.

Getting started

To get started using Tink, see
the setup guide.

Maven:
<dependency>
    <groupId>com.google.crypto.tink</groupId>
    <artifactId>tink</artifactId>
    <version>1.18.0</version>
</dependency>
Gradle:
dependencies {
  implementation 'com.google.crypto.tink:tink-android:1.18.0'
}
Bazel:
load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

RULES_JVM_EXTERNAL_TAG = "4.5"
RULES_JVM_EXTERNAL_SHA ="b17d7388feb9bfa7f2fa09031b32707df529f26c91ab9e5d909eb1676badd9a6"

http_archive(
    name = "rules_jvm_external",
    strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
    sha256 = RULES_JVM_EXTERNAL_SHA,
    url = "https://github.com/bazelbuild/rules_jvm_external/archive/refs/tags/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)

load("@&#8203;rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")

rules_jvm_external_deps()

load("@&#8203;rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")

rules_jvm_external_setup()

load("@&#8203;rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    artifacts = [
        "com.google.crypto.tink:tink:1.18.0",

### ... other dependencies ...
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)

Alternatively, one can build Tink from source, and include it with
http_archive:

http_archive(
    name = "com_github_tink_crypto_tink_java",
    urls = ["https://github.com/tink-crypto/tink-java/archive/refs/tags/1.18.0.zip"],
    strip_prefix = "tink-java-1.18.0",
    sha256 = ...
)

load("@&#8203;tink_java//:tink_java_deps.bzl", "TINK_MAVEN_ARTIFACTS", "tink_java_deps")

tink_java_deps()

load("@&#8203;tink_java//:tink_java_deps_init.bzl", "tink_java_deps_init")

tink_java_deps_init()

### ...

maven_install(
    artifacts = TINK_MAVEN_ARTIFACTS + # ... other dependencies ...
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/com.google.crypto.tink-tink-1.x branch from 86b9b4f to 496b005 Compare July 8, 2025 17:52
@renovate renovate bot changed the title Update dependency com.google.crypto.tink:tink to v1.18.0 fix(deps): update dependency com.google.crypto.tink:tink to v1.18.0 Aug 1, 2025
@renovate renovate bot force-pushed the renovate/com.google.crypto.tink-tink-1.x branch from 496b005 to cde93f7 Compare August 10, 2025 12:26
@renovate renovate bot force-pushed the renovate/com.google.crypto.tink-tink-1.x branch from cde93f7 to 46144e4 Compare September 8, 2025 13:59
@renovate renovate bot changed the title fix(deps): update dependency com.google.crypto.tink:tink to v1.18.0 Update dependency com.google.crypto.tink:tink to v1.18.0 Oct 5, 2025
@renovate renovate bot force-pushed the renovate/com.google.crypto.tink-tink-1.x branch from 46144e4 to de009d1 Compare October 9, 2025 11:14
@renovate renovate bot changed the title Update dependency com.google.crypto.tink:tink to v1.18.0 Update dependency com.google.crypto.tink:tink to v1.19.0 Oct 21, 2025
@renovate renovate bot force-pushed the renovate/com.google.crypto.tink-tink-1.x branch from de009d1 to 39823e0 Compare October 21, 2025 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants